package com.hzh.scala

object Demo12Fun {

  def main(args: Array[String]): Unit = {

    /**
     * 函数作为参数的应用
     */
    val array: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)

    /**
     * foreach:循环数组中的元素一个一个传递给后面的函数
     *
     * Any:相当于java中的Object
     *
     */
    def f(i: Int) = println(i)

    array.foreach(f)
    println("*"*20)
    //lambda表达式
    array.foreach((i:Int)=>println(i))
    println("*"*20)

    //简写
    array.foreach(i=>println(i))
    println("*"*20)

    //简写

    array.foreach(println(_))
    println("*"*20)
    //  def println(x: Any): Unit = Console.println(x)
    //可以直接将println传递给foreach,
    //面向函数编程也可以使用多态
    array.foreach(println)




  }

}
